home *** CD-ROM | disk | FTP | other *** search
- {.HE OKI.PAS - Okidata Microline 84 Mode Program >>DJS<< }
- {.FO Page #}
- Program OKI;
-
-
- Var
- CLine : String[128] Absolute Cseg:$0080;
- ComLine : String[128];
- Ptr : Integer;
- Command : String[20];
-
-
- Procedure ReadCommand;
-
- begin
- Command := '';
- While not (ComLine[PTR] in [' ','/']) and (PTR <= Length(ComLine)) do
- begin
- Command := Command + UpCase(ComLine[PTR]);
- PTR := PTR + 1
- end;
- end;
-
-
- Procedure FormFeed;
-
- begin
- Writeln(lst,#12)
- end;
-
-
- Procedure LPI6;
-
- begin
- Write(lst,#027#050);
- Writeln('Printer Set for 6 Lines per Inch')
- end;
-
-
- Procedure LPI8;
-
- begin
- Write(lst,#027#048);
- Writeln('Printer Set for 8 Lines per Inch')
- end;
-
-
- Procedure CPI10;
-
- begin
- Write(lst,#018);
- Writeln('Printer Set for 10 Characters per Inch')
- end;
-
-
- Procedure CPI12;
-
- begin
- Writeln('12 Characters per Inch - Not possible on MX printers!')
- end;
-
-
- Procedure CPI17;
-
- begin
- Write(lst,#015);
- Writeln('Printer Set for 17 Characters per Inch')
- end;
-
-
- Procedure DP; {Set Data Processing Mode}
-
- begin
- Writeln('Data Processing Mode Not available on MX Printers')
- end;
-
-
- Procedure CQ; {Set Correspondence Quality Mode'}
-
- begin
- Writeln('Correspondence Quaility Mode Not available on MX Printers')
- end;
-
-
-
- Procedure DW; {Set Double Width Character Mode}
-
- begin
- Write(lst,#$1F);
- Writeln('Printer Set for Double Width Characters')
- end;
-
-
-
-
-
-
- {Start of Main Program}
-
- begin {Oki}
- Writeln;
- ComLine := CLine;
- If pos('/',ComLine) <1 then
- begin
- Writeln('These Commands are available for the Epson MX printers');
- Writeln;
- Writeln('/6 - Sets The Printer at 6 Lines per Inch');
- Writeln('/8 - Sets The Printer at 8 Lines per Inch');
- Writeln('/10 - Select 10 Characters per Inch');
- Writeln('/17 - Select 17 Characters per Inch');
- Writeln('/DW - Select Double Width Characters');
- Writeln('/FF - Move Paper to Top of Form (As Set in Printer)');
- Writeln('/UL nn - Underline (nn is ON or OFF)');
- Writeln('/EV - Emphasize Vertical');
- Writeln('/EH - Emphasize Horizontal');
- Writeln('/F nn - Form Length (nn = Number of Lines)');
- Writeln('/G nn - Form Length (nn = Half Inches)');
- Writeln('/LS nn - Line Skip (nn = Number of Lines)');
- Writeln('/ST nnn,.. - Set Tab Stop (nnn = Column Number)');
- Writeln;
- Writeln('Enter all Commands Desired...');
- Write(#26);
- Readln(ComLine);
- end;
- PTR := 1;
- While PTR < Length(ComLine) do
- begin
- While (PTR < Length(ComLine)) and (ComLine[PTR] <> '/') do PTR := PTR + 1;
- If PTR <> Length(Comline) then
- begin
- PTR := PTR + 1;
- Command := '';
- ReadCommand;
- If Command = 'FF' Then FormFeed
- Else if Command = '10' then CPI10
- Else if Command = '12' then CPI12
- Else if Command = '17' then CPI17
- Else if Command = 'DW' then DW
- Else if Command = '6' then LPI6
- Else if Command = '8' then LPI8
- Else if Command = 'DP' then DP
- Else if Command = 'CQ' then CQ
- Else Writeln('Command ',Command,' not recognized');
- end;
- end;
- end.